package org.code.boot.service.boot.impl;

import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.code.boot.mapper.boot.BizTrainSeatConfigMapper;
import org.code.boot.domain.boot.BizTrainSeatConfig;
import org.code.boot.service.boot.IBizTrainSeatConfigService;

/**
 * 火车座位配置Service业务层处理
 * 
 * @author coder
 * @date 2025-08-28
 */
@Service
public class BizTrainSeatConfigServiceImpl implements IBizTrainSeatConfigService 
{
    @Autowired
    private BizTrainSeatConfigMapper bizTrainSeatConfigMapper;

    /**
     * 查询火车座位配置
     * 
     * @param seatConfigId 火车座位配置主键
     * @return 火车座位配置
     */
    @Override
    public BizTrainSeatConfig selectBizTrainSeatConfigBySeatConfigId(Long seatConfigId)
    {
        return bizTrainSeatConfigMapper.selectBizTrainSeatConfigBySeatConfigId(seatConfigId);
    }

    /**
     * 查询火车座位配置列表
     * 
     * @param bizTrainSeatConfig 火车座位配置
     * @return 火车座位配置
     */
    @Override
    public List<BizTrainSeatConfig> selectBizTrainSeatConfigList(BizTrainSeatConfig bizTrainSeatConfig)
    {
        return bizTrainSeatConfigMapper.selectBizTrainSeatConfigList(bizTrainSeatConfig);
    }

    /**
     * 根据火车ID查询座位配置列表
     * 
     * @param trainId 火车ID
     * @return 火车座位配置集合
     */
    @Override
    public List<BizTrainSeatConfig> selectBizTrainSeatConfigByTrainId(Long trainId)
    {
        return bizTrainSeatConfigMapper.selectBizTrainSeatConfigByTrainId(trainId);
    }

    /**
     * 新增火车座位配置
     * 
     * @param bizTrainSeatConfig 火车座位配置
     * @return 结果
     */
    @Override
    public int insertBizTrainSeatConfig(BizTrainSeatConfig bizTrainSeatConfig)
    {
        bizTrainSeatConfig.setCreateTime(new Date());
        return bizTrainSeatConfigMapper.insertBizTrainSeatConfig(bizTrainSeatConfig);
    }

    /**
     * 修改火车座位配置
     * 
     * @param bizTrainSeatConfig 火车座位配置
     * @return 结果
     */
    @Override
    public int updateBizTrainSeatConfig(BizTrainSeatConfig bizTrainSeatConfig)
    {
        bizTrainSeatConfig.setUpdateTime(new Date());
        return bizTrainSeatConfigMapper.updateBizTrainSeatConfig(bizTrainSeatConfig);
    }

    /**
     * 批量删除火车座位配置
     * 
     * @param seatConfigIds 需要删除的火车座位配置主键
     * @return 结果
     */
    @Override
    public int deleteBizTrainSeatConfigBySeatConfigIds(Long[] seatConfigIds)
    {
        return bizTrainSeatConfigMapper.deleteBizTrainSeatConfigBySeatConfigIds(seatConfigIds);
    }

    /**
     * 删除火车座位配置信息
     * 
     * @param seatConfigId 火车座位配置主键
     * @return 结果
     */
    @Override
    public int deleteBizTrainSeatConfigBySeatConfigId(Long seatConfigId)
    {
        return bizTrainSeatConfigMapper.deleteBizTrainSeatConfigBySeatConfigId(seatConfigId);
    }

    /**
     * 根据火车ID删除座位配置
     * 
     * @param trainId 火车ID
     * @return 结果
     */
    @Override
    public int deleteBizTrainSeatConfigByTrainId(Long trainId)
    {
        return bizTrainSeatConfigMapper.deleteBizTrainSeatConfigByTrainId(trainId);
    }
}